Information processing apparatus that determines whether a format of near field communication tag data is appropriate, method of controlling the same, and non-transitory computer-readable medium

ABSTRACT

An information processing apparatus capable of executing near field wireless communication, comprises: a display unit configured to display a screen; an obtaining unit configured to obtain identification information regarding a device from a near field wireless communication tag with use of the near field wireless communication; a selection unit configured, in a case where the obtaining unit obtained the identification information, to select one of first processing for connecting to the device indicated by the identification information and second processing for connecting to the device indicated by the identification information and sending data to the device, based on a type of screen being displayed by the display unit; and a processing unit configured to execute the processing selected by the selection unit.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a Continuation of U.S. patent application Ser. No.15/411,569, filed Jan. 20, 2017, which is a Continuation of U.S. patentapplication Ser. No. 15/041,633, filed Feb. 11, 2016, which is aContinuation of U.S. patent application Ser. No. 14/796,693, filed Jul.10, 2015, now U.S. Pat. No. 9,292,233, which claims priority to JapanesePatent Application No. 2014-146299, filed Jul. 16, 2014, the entiredisclosures of which are all hereby incorporated by reference herein.

BACKGROUND OF THE INVENTION Field of the Invention

The present invention relates to an information processing apparatuscapable of executing wireless communication, a method of controlling thesame, and a non-transitory computer-readable medium.

Description of the Related Art

Some apparatuses such as MFPs (Multi Function Peripherals) are providedwith an NFC (Near Field Communication) tag. The NFC tag includesinformation specifying the MFP to which it is attached, such asconnection information (an IP address or a MAC address).

Meanwhile, there are cases where mobile applications for printing imagesor documents operate on mobile terminals that can read the content ofNFC tags. With such mobile terminals, there is known to be a handovertechnique that employs NFC tag information, in which a mobileapplication is started up, an image is displayed, and the mobileterminal is touched against an NFC tag (hereinafter, called an “NFCtouch”) to read its information (see Japanese Patent Laid-Open No.2013-157736). It is possible to switch the wireless communication LAN AP(Access Point) to which the mobile terminal is to be connected inaccordance with the NFC tag information, and perform printing with thehandover destination MFP as the print destination.

Also, a technique has been disclosed in which it is determined whetheror not the state of the MFP is an error state, and a function isexecuted only in the case of a non-error state (see Japanese PatentLaid-Open No. 2013-214139).

If an NFC touch is performed while an image is displayed in a previewscreen on a mobile terminal, printing is executed, whereas if an NFCtouch is performed while a screen other than a preview screen isdisplayed, the image to be printed has not been determined, andtherefore printing cannot be performed. On the other hand, if nooperation is performed when an NFC touch is performed while a screenother than a preview screen is displayed, a user who desires to performan operation other than printing, such as performing a scanningoperation with a mobile application, needs to manually connect to awireless communication LAN and select an MFP, which is troublesome.

SUMMARY OF THE INVENTION

According to one aspect of the present invention, there is provided aninformation processing apparatus capable of executing near fieldwireless communication, comprising: a display unit configured to displaya screen; an obtaining unit configured to obtain identificationinformation regarding a device from a near field wireless communicationtag with use of the near field wireless communication; a selection unitconfigured, in a case where the obtaining unit obtained theidentification information, to select one of first processing forconnecting to the device indicated by the identification information andsecond processing for connecting to the device indicated by theidentification information and sending data to the device, based on atype of screen being displayed by the display unit; and a processingunit configured to execute the processing selected by the selectionunit.

According to another aspect of the present invention, there is providedan information processing apparatus capable of executing near fieldwireless communication, comprising: a display unit configured to displaya screen; an obtaining unit configured to obtain identificationinformation regarding a device from a near field wireless communicationtag with use of the near field wireless communication; a selection unitconfigured, in a case where the obtaining unit obtained theidentification information, to select one of first processing forspecifying the device indicated by the identification information as aconnection destination and second processing for sending data to thedevice indicated by the identification information, based on a type ofscreen being displayed by the display unit; and a processing unitconfigured to execute the processing selected by the selection unit.

According to another aspect of the present invention, there is provideda method of controlling an information processing apparatus, comprising:a display step of displaying a screen; an obtaining step of obtainingidentification information regarding a device; a selection step ofselecting, in a case where the identification information was obtainedin the obtaining step, one of first processing for connecting to thedevice indicated by the identification information and second processingfor connecting to the device indicated by the identification informationand sending data to the device, based on a type of screen beingdisplayed; and a control step of controlling the information processingapparatus so as to execute the processing selected in the selectionstep.

According to another aspect of the present invention, there is provideda method of controlling an information processing apparatus, comprising:a display step of displaying a screen; an obtaining step of obtainingidentification information regarding a device; a selection step ofselecting, in a case where the identification information was obtainedin the obtaining step, one of first processing for specifying the deviceindicated by the identification information as a connection destinationand second processing for sending data to the device indicated by theidentification information, based on a type of screen being displayed;and a control step of controlling the information processing apparatusso as to execute the processing selected in the selection step.

According to another aspect of the present invention, there is provideda non-transitory computer-readable medium storing a program for causinga computer to execute a method for controlling an information processingapparatus, the method comprising: a display step of displaying a screen;an obtaining step of obtaining identification information regarding adevice; a selection step of selecting, in a case where theidentification information was obtained in the obtaining step, one offirst processing for connecting to the device indicated by theidentification information and second processing for connecting to thedevice indicated by the identification information and sending data tothe device, based on a type of screen being displayed; and a controlstep of controlling the information processing apparatus so as toexecute the processing selected in the selection step.

According to another aspect of the present invention, there is provideda non-transitory computer-readable medium storing a program for causinga computer to execute a method for controlling an information processingapparatus, the method comprising: a display step of displaying a screen;an obtaining step of obtaining identification information regarding adevice; a selection step of selecting, in a case where theidentification information was obtained in the obtaining step, one offirst processing for specifying the device indicated by theidentification information as a connection destination and secondprocessing for sending data to the device indicated by theidentification information, based on a type of screen being displayed;and a control step of controlling the information processing apparatusso as to execute the processing selected in the selection step.

According to the present invention, processing executed based oninformation read from an NFC tag is switched according to theapplication screen, and the user can smoothly perform operations withrespect to an MFP.

Further features of the present invention will become apparent from thefollowing description of exemplary embodiments with reference to theattached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram showing an example of a configuration of acommunication system.

FIG. 2 is a diagram showing an example of a hardware configuration of amobile terminal.

FIG. 3 is a diagram showing an example of a hardware configuration of anNFC tag.

FIG. 4 is a diagram showing an example of a software configuration ofthe mobile terminal.

FIG. 5 is a diagram showing a flow of screens according to a firstembodiment.

FIG. 6 is a flowchart showing processing in the case of a preview screenaccording to the first embodiment.

FIG. 7 is a flowchart showing processing in the case of a screen otherthan a preview screen according to the first embodiment.

FIG. 8 is a flowchart showing processing in the case of a device searchscreen according to a second embodiment.

FIG. 9 is a flowchart showing processing in the case of a currentlycommunicating screen according to a third embodiment.

DESCRIPTION OF THE EMBODIMENTS

Hereinafter, embodiments for carrying out the present invention will bedescribed with reference to the drawings. It is to be understood thatthe following embodiments are not intended to limit the claims of thepresent invention, and that not all of the combinations of the aspectsthat are described according to the following embodiments arenecessarily required with respect to the method to solve the problemsaccording to the present invention.

First Embodiment

System Configuration

The following describes an example of the configuration of acommunication system according to the present invention with referenceto FIG. 1. The communication system according to the present embodimentincludes a mobile terminal 100, an MFP 110, an NFC tag 111, and anaccess point 120.

The MFP 110 executes wireless communication with an access point 120over a wireless communication LAN or the like. Note that thecommunication between the access point 120 and the MFP 110 may be wiredcommunication employing a LAN cable or the like. Also, although an MFPis described as an example of a device that performs communication withthe mobile terminal 100 in the present embodiment, the present inventionis not limited to this, and the device may be another apparatus such asa single-function network printer.

The mobile terminal 100 can execute wireless communication over awireless communication LAN or the like. When a user inputs informationsuch as the SSID of the access point 120 and a security key to themobile terminal 100, the mobile terminal 100 connects to the accesspoint 120, and then the mobile terminal 100 can communicate with the MFP110 via the access point 120. The mobile terminal 100 can send a printjob to an external apparatus such as the MFP 110 via the access point120. Upon receiving the print job, the MFP 110 executes printing basedon the print job.

Also, the mobile terminal 100 and the MFP 110 can execute near fieldwireless communication such as NFC (Near Field Communication). In thecase of the present embodiment, the MFP 110 includes the NFC tag 111,and information for connecting to the access point 120 (the SSID of theaccess point 120 and a security key) is stored in the NFC tag 111. Themobile terminal 100 can obtain the information in the NFC tag 111 of theMFP 110 using NFC, and connect to the access point 120 based on theobtained information. Switching the connection to wireless communicationin a wireless communication LAN or the like using information obtainedby near field wireless communication such as NFC in this way is called a“handover”. Performing a handover eliminates the trouble of the need forinformation for connecting to the access point 120 (the SSID of theaccess point 120 and a security key) to be input to the mobile terminal100 by the user.

Hardware Configuration

The following describes an example of the hardware configuration of themobile terminal 100 with reference to FIG. 2. Note that although anapparatus such as a smartphone or a tablet PC is envisioned as themobile terminal 100 in the present embodiment, the present invention isapplicable to another apparatus, as long as it is an informationprocessing apparatus that can execute wireless communication.

A CPU 201 reads out control programs stored in a ROM 202, and executesvarious types of processing for controlling operations of the mobileterminal 100. The ROM 202 is a nonvolatile storage unit, and storescontrol programs. A RAM 203 is a volatile storage unit, and is used as amain memory for the CPU 201, and as a temporary storage area such as awork area. An HDD 204 stores various types of data such as photographsand electronic documents. Also, an OS (Operating System) 411 and an MFPapplication 400 are also stored in the HDD 204. An RTC (Real Time Clock)205 measures time.

In the case of the mobile terminal 100, one CPU 201 executes the variousprocesses shown in the flowcharts described later, but another mode maybe employed. For example, the processes shown in the flowchartsdescribed later may be executed by multiple CPUs working in cooperation.

An operation panel 206 includes a touch panel function capable ofdetecting touch operations performed by the user, and displays varioustypes of screens provided by the OS 411 and the MFP application 400. Theuser can input desired operation instructions to the mobile terminal 100by performing touch operations on the operation panel 206. Note that aconfiguration is possible in which the mobile terminal 100 includeshardware keys (not shown), and the user inputs operation instructions tothe mobile terminal 100 using the hardware keys.

A speaker 207 and a microphone 208 are used in audio-relatedapplications, such as the case where the user calls another mobileterminal or a fixed-line telephone. A camera 209 performs imaging inaccordance with an imaging instruction from the user. A photograph(image) captured by the camera 209 is stored in a predetermined area ofthe HDD 204.

A near field wireless communication unit 210 executes near fieldwireless communication such as NFC with the NFC tag 111 included in theMFP 110. When the user brings the mobile terminal 100 close to the NFCtag 111, near field wireless communication is established between thenear field wireless communication unit 210 and the NFC tag 111 of theMFP 110, and the near field wireless communication unit 210 obtains theinformation in the NFC tag 111. Note that the near field wirelesscommunication executed by the near field wireless communication unit 210is not limited to NFC, and a communication method employing anothershort-range communication standard such as Bluetooth (registeredtrademark) may be used.

A wireless communication unit 211 executes wireless communication in awireless communication LAN or the like. In the case of the mobileterminal 100, by using a handover, the user can realize wirelesscommunication using the wireless communication unit 211 with a simpleoperation. Specifically, the wireless communication unit 211 can connectto the access point 120 using connection information (the SSID of theaccess point 120 and a security key) that the near field wirelesscommunication unit 210 obtained from the NFC tag 111 of the MFP 110.

The following describes an example of the hardware configuration of theNFC tag 111 with reference to FIG. 3. An antenna 301 is connected to acontroller 302. The antenna 301 receives a supply of electrical power byelectromagnetic induction from the near field wireless communicationunit 210 of the mobile terminal 100, and uses the received electricalpower as operating power for the controller 302. Additionally, theantenna 301 operates as an antenna for wireless communication from thenear field wireless communication unit 210. The controller 302 performscommunication with the mobile terminal 100 via the antenna 301.Additionally, the controller 302 performs reading/writing processingwith respect to a memory 303 in accordance with a reading/writinginstruction received by this communication. By performing thisreading/writing processing, the controller 302 can hold informationregarding the MFP 110, such as the MAC address thereof, and notify thisinformation to an external apparatus via the antenna 301 as necessary.

Software Configuration

The following describes an example of the software configuration of themobile terminal 100 with reference to FIG. 4. FIG. 4 is a functionalblock diagram of software realized by the CPU 201 reading out a controlprogram stored in the ROM 202 or the HDD 204.

The OS 411 is software for controlling overall operations of the mobileterminal 100. Various applications, including the MFP application 400,can be installed in the mobile terminal 100. The OS 411 exchangesinformation with these applications, and executes various types ofprocessing in accordance with instructions received from theapplications. For example, the OS 411 changes the screen displayed onthe operation panel 206, and executes wireless communication using thewireless communication unit 211.

The MFP application 400 is an application installed in the mobileterminal 100. The user can perform operations and issue instructions forprinting, scanning, and the like with respect to the MFP 110 from theMFP application 400. Various applications other than the MFP application400 can be installed in the mobile terminal 100, but they will not bedescribed here.

The following is a more detailed description of units configuring theMFP application 400. A screen control unit 401 controls the screensdisplayed on the operation panel 206 via the OS 411. The screens shownin FIG. 5 are displayed on the operation panel 206 by the screen controlunit 401. Also, the screen control unit 401 makes a determinationregarding operations and instructions input by the user via theoperation panel 206. A communication unit 402 controls wirelesscommunication performed by the wireless communication unit 211 and nearfield wireless communication performed by the near field wirelesscommunication unit 210 via the OS 411. A wireless communication LANsetting change unit 403 changes wireless communication LAN settingsrelated to wireless communication performed by the mobile terminal 100,via the OS 411. A timing unit 404 measures time using the RTC 205.

A print job generation unit 405 generates print jobs. A print jobgenerated by the print job generation unit 405 is sent to the MFP 110 bythe wireless communication unit 211, and thereafter, printing isexecuted on the MFP 110 side in accordance with the print job. A storageunit 406 temporarily stores various information.

A scan job control unit 407 issues a scan instruction to the MFP 110using the wireless communication unit 211, and displays scan datareceived from the MFP 110 via the screen control unit 401. In the caseof storing scan data, the scan job control unit 407 stores it in thestorage unit 406. Stored scan data is managed by a document managementunit 408.

An MFP search unit 409 sends a search command over a network via thewireless communication unit 211, and displays a list of correspondingMFPs based on received response data. An MFP selection unit 410 selectsan MFP that is to perform an operation from the list of found MFPs, andstores information indicating the selected MFP in the storage unit 406.The MFP selection unit 410 also stores a list of MFPs that have beenselected in the past.

Screen Transitions

Next, screen transitions and an overview of the print function realizedby the MFP application 400 will be described with reference to FIG. 5.The screens shown in FIG. 5 are screens displayed on the operation panel206 by the screen control unit 401 of the MFP application 400.

A home screen 501 is the screen that is first displayed when the MFPapplication 400 starts up. A DeviceBMP is arranged on the home screen501 to display the MFP that is currently selected. Buttons correspondingto various functions are also displayed on the home screen 501. When thesearch button is selected, the display transitions to an MFP selectionscreen 502, and the MFP selected in the MFP selection screen 502 isdisplayed by the DeviceBMP.

When a print button is selected, the display transitions to a print typeselection screen 504 for performing an operation on the MFP that iscurrently selected. When a scan button is selected, the displaytransitions to a scan setting screen (not shown), and it is possible toset scan settings, execute scanning, view a data preview, and so on.When a document button is selected, the display transitions to adocument selection screen (not shown), and it is possible to manage(move, delete, preview) image data stored by the application.

A list of MFPs registered in the MFP application 400 is displayed on theMFP selection screen 502. When an MFP is selected from the list, thedisplay transitions to the home screen 501, and the selected MFP isdisplayed by the DeviceBMP. When a search button is selected on the MFPselection screen 502, the display transitions to a searching screen 503.

In the searching screen 503, an MFP search is executed, and when thesearch is complete, a list of found MFPs is displayed. When an MFP isselected from the list of found MFPs, the display transitions to the MFPselection screen 502, and the selected MFP is added to the list of MFPson the MFP selection screen 502.

The print type selection screen 504 displays types of printing in aselectable manner. Here, the types of printing “photograph”, “camera”,and “web” are displayed, but there is no limitation to these types. If“photograph” is selected, the display transitions to an image selectionscreen 505. If “camera” is selected, the display transitions to an imagecapturing screen (not shown), and print processing is performed on acaptured image. If “web” is selected, a web browser screen (not shown)is displayed. When a URL (Uniform Resource Locator) is input in the webbrowser screen, the web page at the input URL is displayed, and printprocessing is performed on the displayed web page.

The image selection screen 505 is a screen that displays a list ofphotographs stored in the HDD 204 of the mobile terminal 100. As oneexample, the image selection screen 505 shows the case where sixphotographs, namely photographs PT1 to PT6, are displayed. In the imageselection screen 505, the user selects a photograph that is to beprinted.

When a photograph is selected in the image selection screen 505, apreview screen 506 is displayed. A preview of the selected image isdisplayed on the preview screen 506, and since the selected photographis displayed at a large size, the user can check the selectedphotograph. When a print start button is selected in the preview screen506, a print instruction is issued, and the display transitions to acurrently printing screen 507. The currently printing screen 507 isdisplayed while printing is underway, and then the display returns tothe image selection screen 505 when printing is complete.

If the user brings the mobile terminal 100 close to the NFC tag 111 ofthe MFP 110 while the preview screen 506 is being displayed, the nearfield wireless communication unit 210 reads the information stored inthe NFC tag 111 of the MFP 110. In the case of the present embodiment,connection information for the execution of wireless communication withthe MFP 110 by the wireless communication unit 211 is stored in the NFCtag 111 of the MFP 110. This connection information corresponds to theSSID of the access point 120, a security key for connecting to theaccess point 120, and the IP address of the MFP 110. Using theconnection information obtained by the near field wireless communicationunit 210 reading the NFC tag 111 of the MFP 110, the wirelesscommunication unit 211 can perform wireless communication with the MFP110, and printing can be executed.

If the mobile terminal 100 is brought close to the NFC tag 111 while ascreen other than the preview screen 506 is being displayed, printingfails because there are also screens in which the image data to beprinted has not been determined. As a result, processing ends with anerror depending on the case.

In view of this, when the mobile terminal 100 is brought close to theNFC tag 111 of the MFP 110 (in other words, when the near field wirelesscommunication unit 210 obtains connection information from the NFC tag111), print processing is executed based on the connection informationif a preview screen is being displayed. However, if a preview screen isnot being displayed, only a switch to wireless communication LANcommunication (handover) and MFP selection (pairing) are performed.Accordingly, printing can be performed based on connection informationobtained from the NFC tag 111, only when printing is possible.

Processing Flow

The following describes processing executed by the MFP application 400when an NFC touch is performed while a preview screen is beingdisplayed, with reference to the flowcharts of FIGS. 6 and 7. The stepsshown in the flowchart of FIG. 6 are realized by the CPU 201 of themobile terminal 100 deploying a control program stored in a memory suchas the ROM 202 to the RAM 203 and executing the control program.

In step S601, the CPU 201 uses the near field wireless communicationunit 210 to determine whether or not the operator of the mobile terminal100 has touched the NFC tag 111. If a touch has been performed (YES instep S601), the procedure moves to step S602. If a touch has not beenperformed (NO in step S601), the procedure waits until a touch isperformed.

In step S602, the CPU 201 uses the near field wireless communicationunit 210 to read the data recorded in the NFC tag 111 that was touched.

In step S603, the CPU 201 checks whether or not the format of the dataread in step S602 is normal. If the read data is improper, readingfails, or the format is improper (NO in step S603), in step S604, theCPU 201 notifies the operator by displaying an error display (not shown)on the operation panel 206. Thereafter, this processing flow is ended.On the other hand, if the format is normal (YES in step S603), theprocedure moves to step S605.

In step S605, the CPU 201 determines whether or not the screen of theMFP application 400 is a preview screen. In the case of a preview screen(YES in step S605), the procedure moves to step S607, and otherwise (NOin step S605) the procedure moves to step S606. In step S606, the CPU201 performs an operation for the case of a screen other than a previewscreen. The operation in the case of a screen other than a previewscreen will described later with reference to FIG. 7.

In step S607, the CPU 201 uses the wireless communication unit 211 to,using a broadcast packet, make an MFP existence inquiry to the MFPs thatare connected via the access point 120.

In step S608, the CPU 201 uses the wireless communication unit 211 toreceive a response packet from an MFP. The CPU 201 then uses SNMP(Simple Network Management Protocol) to make an MFP MAC address inquiryto the MFP, and receives a response to the inquiry. Note that althoughthe CPU 201 obtains the MAC address of the MFP via SNMP, there is nolimitation to this. For example, a configuration is possible in which aMAC address table (ARP table) of the OS 411 is searched, and thecorresponding MAC address is obtained based on the IP address indicatedin the response packet.

In step S609, the CPU 201 compares the MAC address that was obtained instep S608 with the MAC address described in the NFC tag 111 that wasread in step S602. In the case of a match (YES in step S609), theprocedure moves to step S610. In the case of no match (NO in step S609),the procedure moves to step S612.

In step S610, the CPU 201 considers the IP address of the MFP that sentthe response in step S608 to be the IP address of the MFP 110 to whichthe NFC tag 111 is attached. The CPU 201 then determines that IP addressto be the print destination.

In step S611, the CPU 201 performs print processing with respect to theIP address that was determined in step S610. Specifically, the CPU 201considers, as the print target, a file determined based on a fileselection operation (not shown) performed by the operator, and makes aprint processing request to the MFP 110 that corresponds to the IPaddress that was determined in step S610.

In step S612, the CPU 201 calculates an elapsed duration from step S607using the timing unit 404, and determines whether or not the elapsedduration is greater than or equal to a predetermined value (e.g.,greater than or equal to 10 seconds). If the elapsed duration exceedsthe predetermined value (YES in step S612), it is considered that atimeout occurred, and the procedure moves to step S613. If the elapsedduration does not exceed the predetermined value (NO in step S612), theprocedure returns to step S608.

In step S613, the CPU 201 notifies the operator by displaying an errordisplay (not shown) on the operation panel 206 to indicate that the MFPwritten in the NFC tag 111 could not be found. Thereafter, thisprocessing flow is ended.

The following describes processing in the case where the screen of theMFP application 400 is not a preview, with reference to the flowchart ofFIG. 7. This processing flow corresponds to step S606 in FIG. 6.

In step S701, the CPU 201 stores the MAC address that was read in stepS602 in the HDD 204. Also, the CPU 201 sets the value of ahandover/pairing flag to “ON”, and stores the flag in the HDD 204. Inthe present embodiment, the handover/pairing flag indicates a setting ofwhether or not communication with a connection destination apparatus(target) is to be established. If the value of this flag is “ON”, aconnection is made with the detected connection destination. In stepS702, in order to reset the processing at this point, the CPU 201restarts the MFP application 400 and transitions the screen of the MFPapplication 400 to the home screen 501. Note that as long as it ispossible to reset the processing, the screen may be transitioned to thehome screen 501 without restarting the MFP application 400.

In step S703, the CPU 201 determines whether or not the value of thehandover/pairing flag stored in the HDD 204 is “ON”. If the value of thehandover/pairing flag is “OFF” (NO in step S703), the CPU 201 determinesthat normal processing of the home screen 501 is to be performed. Notethat there are no particular limitations on the details of this, andtherefore a detailed description will not be given. Thereafter, thisprocessing flow is ended. If the value of the handover/pairing flag is“ON” (YES in step S703), the procedure moves to step S704.

In step S704, the CPU 201 reads the MAC address that was stored in stepS701. In step S705, the CPU 201 uses the wireless communication unit 211to, using a broadcast packet, make an MFP existence inquiry to the MFPsthat are connected via the access point 120.

In step S706, the CPU 201 uses the wireless communication unit 211 toreceive a response packet from an MFP. The CPU 201 then uses SNMP tomake an MFP MAC address inquiry to that MFP, and receives a response tothe inquiry. Note that although the CPU 201 obtains the MAC address ofthe MFP via SNMP, there is no limitation to this, and the correspondingMAC address may be obtained by searching a MAC address table (ARP table)of the OS 411, for example.

In step S707, the CPU 201 compares the MAC address that was obtained instep S706 with the MAC address described in the NFC tag 111 that wasread in step S704. In the case of a match (YES in step S707), theprocedure moves to step S708. In the case of no match (NO in step S707),the procedure moves to step S709.

In step S708, the CPU 201 considers the IP address of the MFP that sentthe response in step S706 to be the IP address of the MFP 110 to whichthe NFC tag 111 is attached. The CPU 201 then determines that IP addressto be the connection destination.

In step S709, the CPU 201 calculates an elapsed duration from step S705using the timing unit 404, and determines whether or not the elapsedduration is greater than or equal to a predetermined value (e.g.,greater than or equal to 10 seconds). If the elapsed duration exceedsthe predetermined value (YES in step S709), it is considered that atimeout occurred, and the procedure moves to step S710. If the elapsedduration does not exceed the predetermined value (NO in step S709), theprocedure returns to step S706.

In step S710, the CPU 201 notifies the operator by displaying an errordisplay (not shown) on the operation panel 206 to indicate that the MFPwritten in the NFC tag 111 could not be found. Thereafter, thisprocessing flow is ended.

Effects

As described above, when the mobile terminal is brought close to the NFCtag of an MFP, printing is executed if the MFP application is displayingan image preview screen, and only handover and pairing are executed ifanother screen is being displayed.

Accordingly, when a preview is being displayed, the user can easilyperform printing, and when a screen other than a preview screen is beingdisplayed, the user can select an MFP by touching the mobile terminalagainst an NFC without particularly giving consideration to which screenis being displayed, and then smoothly perform operations with respect tothe MFP.

Second Embodiment

Whereas the first embodiment describes an example in which thepredetermined screen is a preview screen of the MFP application, asecond embodiment describes processing performed when another screen isbeing displayed. Specifically, a configuration is possible in which ifan NFC touch is performed while an MFP search screen is being displayed,the search is ended, and the MFP on which the NFC touch was performed isselected. Examples of MFP search screens include the MFP selectionscreen 502 and the searching screen 503 shown in FIG. 5.

Processing Flow

The following describes processing executed by the MFP application 400when an NFC touch is performed while an MFP search screen is beingdisplayed, with reference to the flowchart of FIG. 8. The steps shown inthe flowchart of FIG. 8 are realized by the CPU 201 of the mobileterminal 100 deploying a control program stored in a memory such as theROM 202 to the RAM 203 and executing the control program.

In step S801, the CPU 201 uses the near field wireless communicationunit 210 to determine whether or not the operator of the mobile terminal100 has touched the NFC tag 111. If a touch has been performed (YES instep S801), the procedure moves to step S802. If a touch has not beenperformed (NO in step S801), the procedure waits until a touch isperformed.

In step S802, the CPU 201 uses the near field wireless communicationunit 210 to read the data recorded in the NFC tag 111 that was touched.

In step S803, the CPU 201 checks whether or not the format of the dataread in step S802 is normal. If the read data is improper, readingfails, or the format is improper (NO in step S803), in step S804, theCPU 201 notifies the operator by displaying an error display (not shown)on the operation panel 206. Thereafter, this processing flow is ended.On the other hand, if the format is normal (YES in step S803), the CPU201 moves to step S805.

In step S805, the CPU 201 determines whether or not the screen of theMFP application 400 is an MFP search screen. In the case of an MFPsearch screen (YES in step S805), the procedure moves to step S807, andotherwise (NO in step S805) the procedure moves to step S806. In stepS806, the CPU 201 performs an operation for the case of a screen otherthan an MFP search screen. Thereafter, this processing flow is ended.

In step S807, the CPU 201 determines whether or not the screen of theMFP application 400 is the searching screen 503. In the case of the MFPsearching screen (YES in step S807), the procedure moves to step S808,and in the case of the MFP list screen (NO in step S807), the proceduremoves to step S809.

In step S808, the CPU 201 interrupts the search processing. In stepS809, the CPU 201 uses the wireless communication unit 211 to, using abroadcast packet, make an MFP existence inquiry to the MFPs that areconnected via the access point 120.

In step S810, the CPU 201 uses the wireless communication unit 211 toreceive a response packet from an MFP. The CPU 201 then uses SNMP tomake an MFP MAC address inquiry to that MFP, and receives a response tothe inquiry. Note that although the CPU 201 obtains the MAC address ofthe MFP via SNMP, there is no limitation to this, and the correspondingMAC address may be obtained by searching a MAC address table (ARP table)of the OS 411, for example.

In step S811, the CPU 201 compares the MAC address that was obtained instep S810 with the MAC address described in the NFC tag 111 that wasread in step S802. In the case of a match (YES in step S811), theprocedure moves to step S812. In the case of no match (NO in step S811),the procedure moves to step S814.

In step S812, the CPU 201 considers the IP address of the MFP that sentthe response in step S810 to be the IP address of the MFP 110 to whichthe NFC tag 111 is attached. The CPU 201 then determines that IP addressto be the connection destination.

In step S813, the CPU 201 returns the screen of the MFP application 400to the MFP selection screen 502. Thereafter, this processing flow isended.

In step S814, the CPU 201 calculates an elapsed duration from step S809using the timing unit 404, and determines whether or not the elapsedduration is greater than or equal to a predetermined value (e.g.,greater than or equal to 10 seconds). If the elapsed duration exceedsthe predetermined value (YES in step S814), it is considered that atimeout occurred, and the procedure moves to step S815. If the elapsedduration does not exceed the predetermined value (NO in step S814), theprocedure returns to step S810.

In step S815, the CPU 201 notifies the operator by displaying an errordisplay (not shown) on the operation panel 206 to indicate that the MFPwritten in the NFC tag 111 could not be found. Thereafter, thisprocessing flow is ended.

Effects

As described above, when the mobile terminal is brought close to the NFCtag of an MFP, if the MFP application is displaying an MFP searchscreen, that MFP can be immediately selected without waiting for thecompletion of search processing. Accordingly, the user can shorten thesearch time, and can select a desired MFP without getting lost in an MFPlist.

Third Embodiment

This embodiment describes the case where an NFC touch is performed whilethe screen of the MFP application being displayed is a screen in whichcommunication is being performed with an MFP during scanning, printing,or the like. When an NFC touch is performed in this state, the job willbe interrupted if pairing is performed, and therefore pairing does notneed to be performed during communication.

Processing Flow

The following describes processing executed by the MFP application 400when an NFC touch is performed in the case where a sending print jobscreen is being displayed, with reference to the flowchart of FIG. 9.The steps shown in the flowchart of FIG. 9 are realized by the CPU 201of the mobile terminal 100 deploying a control program stored in amemory such as the ROM 202 to the RAM 203 and executing the controlprogram.

In step S901, the CPU 201 uses the near field wireless communicationunit 210 to determine whether or not the operator of the mobile terminal100 has touched the NFC tag 111. If a touch has been performed (YES instep S901), the procedure moves to step S902. If a touch has not beenperformed (NO in step S901), the procedure waits until a touch isperformed.

In step S902, the CPU 201 uses the near field wireless communicationunit 210 to read the data recorded in the NFC tag 111 that was touched.

In step S903, the CPU 201 checks whether or not the format of the dataread in step S902 is normal. If the read data is improper, readingfails, or the format is improper (NO in step S903), in step S904, theCPU 201 notifies the operator by displaying an error display (not shown)on the operation panel 206. Thereafter, this processing flow is ended.On the other hand, if the format is normal (YES in step S903), theprocedure moves to step S905.

In step S905, the CPU 201 determines whether or not the screen of theMFP application 400 is a currently communicating screen. In the case ofa currently communicating screen (YES in step S905), the procedure movesto step S907. In the case of another screen (NO in step S905), theprocedure moves to step S906. In step S906, the CPU 201 performs anoperation for the case of a screen other than a currently communicatingscreen. Thereafter, this processing flow is ended.

In step S907, the CPU 201 displays a message indicating that pairingcould not be performed (not shown). Thereafter, this processing flow isended.

Effects

As described above, when the mobile terminal is brought close to the NFCtag of an MFP, if the MFP application is displaying a currentlycommunicating screen, no NFC processing is executed. Accordingly, theuser can prevent an unintended interruption in a job currently beingsent.

Other Embodiments

Embodiment(s) of the present invention can also be realized by acomputer of a system or apparatus that reads out and executes computerexecutable instructions (e.g., one or more programs) recorded on astorage medium (which may also be referred to more fully as a‘non-transitory computer-readable storage medium’) to perform thefunctions of one or more of the above-described embodiment(s) and/orthat includes one or more circuits (e.g., application specificintegrated circuit (ASIC)) for performing the functions of one or moreof the above-described embodiment(s), and by a method performed by thecomputer of the system or apparatus by, for example, reading out andexecuting the computer executable instructions from the storage mediumto perform the functions of one or more of the above-describedembodiment(s) and/or controlling the one or more circuits to perform thefunctions of one or more of the above-described embodiment(s). Thecomputer may comprise one or more processors (e.g., central processingunit (CPU), micro processing unit (MPU)) and may include a network ofseparate computers or separate processors to read out and execute thecomputer executable instructions. The computer executable instructionsmay be provided to the computer, for example, from a network or thestorage medium. The storage medium may include, for example, one or moreof a hard disk, a random-access memory (RAM), a read only memory (ROM),a storage of distributed computing systems, an optical disk (such as acompact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD)™),a flash memory device, a memory card, and the like.

While the present invention has been described with reference toexemplary embodiments, it is to be understood that the invention is notlimited to the disclosed exemplary embodiments. The scope of thefollowing claims is to be accorded the broadest interpretation so as toencompass all such modifications and equivalent structures andfunctions.

This application claims the benefit of Japanese Patent Application No.2014-146299, filed Jul. 16, 2014, which is hereby incorporated byreference herein in its entirety.

What is claimed is:
 1. An information processing apparatus comprising: amemory that stores a program; and a processor that, by executing theprogram stored in the memory, functions to: receive data from an NFC(Near Field Communication) tag of a printing apparatus, determine, basedon at least a receiving result, in a case where a print target file hasbeen selected already in the information processing apparatus, whetherto at least (1) perform processing for transmitting a print job forprinting the selected print target file to the printing apparatus, or(2) control to display an error, perform, if it is determined to performthe processing for transmitting the print job for printing the selectedprint target file to the printing apparatus, the processing fortransmitting the print job to the printing apparatus, and control todisplay an error on a display device if it is determined to control todisplay the error.
 2. The information processing apparatus according toclaim 1, wherein the processor, by executing the program stored in thememory, further functions to: perform, if the print target file has notbeen selected in the information processing apparatus and theinformation processing apparatus receives the data from the NFC tag ofthe printing apparatus, a process different from transmission of theprint job.
 3. The information processing apparatus according to claim 1,wherein the data includes at least identification information of theprinting apparatus.
 4. The information processing apparatus according toclaim 3, wherein the identification information is an internet protocoladdress of the printing apparatus.
 5. A control method of controlling aninformation processing apparatus, the control method comprising:receiving data from an NFC (Near Field Communication) tag of a printingapparatus, determining, based on at least a receiving result, in a casewhere a print target file has been selected already in the informationprocessing apparatus, whether to at least (1) perform processing fortransmitting a print job for printing the selected print target file tothe printing apparatus, or (2) control to display an error, performing,if it is determined to perform the processing for transmitting the printjob for printing the selected print target file to the printingapparatus, the processing for transmitting the print job to the printingapparatus, and controlling to display an error on a display device if itis determined to control to display the error.
 6. The control methodaccording to claim 5, wherein the control method further comprising:performing, if the print target file has not been selected in theinformation processing apparatus and the information processingapparatus receives the data from the NFC tag of the printing apparatus,a process different from transmission of the print job.
 7. The controlmethod according to claim 5, wherein the data includes at leastidentification information of the printing apparatus.
 8. The controlmethod according to claim 7, wherein the identification information isan internet protocol address of the printing apparatus.
 9. Anon-transitory computer-readable medium storing a program includinginstructions for causing an information processing apparatus to execute:receiving data from an NFC (Near Field Communication) tag of a printingapparatus, determining, based on at least a receiving result, in a casewhere a print target file has been selected already in the informationprocessing apparatus, whether to at least (1) perform processing fortransmitting a print job for printing the selected print target file tothe printing apparatus, or (2) control to display an error, performing,if it is determined to perform the processing for transmitting the printjob for printing the selected print target file to the printingapparatus, and processing for transmitting the print job to the printingapparatus, and controlling to display an error on a display device if itis determined to control to display the error.
 10. The non-transitorycomputer-readable medium according to claim 9, wherein the programincludes instructions for causing the information processing apparatusto further execute: performing, if the print target file has not beenselected in the information processing apparatus and the informationprocessing apparatus receives the data from the NFC tag of the printingapparatus, a process different from transmission of the print job. 11.The non-transitory computer-readable medium according to claim 9,wherein the data includes at least identification information of theprinting apparatus.
 12. The non-transitory computer-readable mediumaccording to claim 11, wherein the identification information is aninternet protocol address of the printing apparatus.
 13. Anon-transitory computer-readable medium storing a program includinginstructions for causing an information processing apparatus to execute:receiving data from an NFC (Near Field Communication) tag of a printingapparatus, determining, based on at least a receiving result, in a casewhere a preview of a print target file has been already displayed in apreview screen, whether to at least (1) perform processing fortransmitting a print job for printing the print target file to theprinting apparatus, or (2) control to display an error, performing, ifit is determined to perform the processing for transmitting the printjob for printing the print target file to the printing apparatus, theprocessing for transmitting the print job to the printing apparatus, anddisplaying an error on a display device if it is determined to controlto display the error.
 14. The non-transitory computer-readable mediumaccording to claim 13, wherein the program includes instructions forcausing the information processing apparatus to further execute:performing, if the information processing apparatus is not displaying apreview screen and the information processing apparatus receives thedata from the NFC tag of the printing apparatus, a process differentfrom transmission of the print job.
 15. The non-transitorycomputer-readable medium according to claim 13, wherein the dataincludes at least identification information of the printing apparatus.16. The non-transitory computer-readable medium according to claim 15,wherein the identification information is an internet protocol addressof the printing apparatus.
 17. A control method of controlling aninformation processing apparatus, the control method comprising:receiving data from an NFC (Near Field Communication) tag of a printingapparatus using a NFC communication; determining, in a case where aprint target file has been selected already in the informationprocessing apparatus, whether to continue or terminate cooperativeprocessing with the printing apparatus triggered by the NFCcommunication, based on a receiving result; performing, if it isdetermined to continue the cooperative processing with the printingapparatus, processing for transmitting a print job for printing theselected print target file to the printing apparatus; and controlling todisplay an error if it is determined to terminate the cooperativeprocessing with the printing apparatus.
 18. A non-transitorycomputer-readable medium storing a program including instructions forcausing an information processing apparatus to execute: receive datafrom an NFC (Near Field Communication) tag of a printing apparatus usinga NFC communication; determine, in a case where a print target file hasbeen selected already in the information processing apparatus, whetherto continue or terminate cooperative processing with the printingapparatus triggered by the NFC communication, based on a receivingresult; perform, if it is determined to continue the cooperativeprocessing with the printing apparatus, processing for transmitting aprint job for printing the selected print target file to the printingapparatus; and control to display an error if it is determined toterminate the cooperative processing with the printing apparatus.